package com.deschen.security.core.validate.code;

import org.springframework.web.context.request.ServletWebRequest;

/**
 * @Author deschen
 * @Create 2019/8/21
 * @Description 验证码处理器接口
 * @Since 1.0.0
 */
public interface ValidateCodeProcessor {

    String SESSION_KEY_PREFIX = "session_key_for_code_";   //验证码key值前缀

    /**
     * 创建到发送验证码方法
     * @param request   请求
     * @param account  用户账号或手机号
     */
    void process(ServletWebRequest request, String account) throws Exception;

    /**
     * 根据account获取缓存的验证码，在进行校验
     * @param request
     * @param account
     */
    void validate(ServletWebRequest request, String account);

}
